Hi Greg,
Wow nice work. Do you mind sharing it?
I was thinking as you describe. Create a large circular
buffer in the gather buffer that KFLOP continuously
inserts data into. KFLOP could set its write index into a
persist variable to inform the PC where it is writing in
the buffer. The PC could then periodically read the write
index and determine a block of data yet to be uploaded.
It could then upload that block of data as single
hexadecimal binary block using the GetGatherHex command.
http://dynomotion.com/Help/Cmd.htm#GetGatherHex
This has the advantage of not needing to convert the
"floats" to decimal ASCII numbers which involves lots of
double precision math. It is exact with no rounding.
And takes fewer characters. Also bigger blocks of data
involve less handshaking and less flushing of data in the
USB Buffer piplelines.
The TestUSB_Click function in the SimpleFormsCS Example uses
this method. My Computer shows this result:
PC->KFLOP N=100000 Int32, Time=1.289 sec, 688KBytes/sec
KFLOP->PC N=100000 Int32, Time=2.243 sec, 396KBytes/sec
But anyway since your method is fast enough and is simpler
why change it?
Regards
TK